Higher-order Behavioral Contracts for Distributed Components

نویسندگان

  • Lucas Waye
  • Christos Dimoulas
  • Stephen Chong
چکیده

Inspired by the Design by Contract paradigm, we intro-duce CONSUL, a contract system for distributed compo-nents. CONSUL monitors distributed components at run timewith higher-order behavioral contracts. Contract monitoringis local to a component, and the component is treated asa black box. Thus it does not disturb the highly decouplednature of distributed components and allows heterogeneousimplementation languages and platforms without modifica-tions to a component’s code. We describe the design, seman-tics and properties of CONSUL (adapter transparency andcorrect blame), and show that its contracts can capture andenforce precise and useful properties of a variety of off-the-shelf components.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Higher-order symbolic execution for contract verification and refutation

We present a new approach to automated reasoning about higher-order programs by endowing symbolic execution with a notion of higher-order, symbolic values. To validate our approach, we use it to develop and evaluate a system for verifying and refuting behavioral software contracts of components in a functional language, which we call soft contract verification. In doing so, we discover a mutual...

متن کامل

Behavioral Interface Contracts for Java (Rice University CS TR00-366)

Programs should consist of off-the-shelf, interchangeable, black-box components that are produced by a network of independent software companies. These components should not only come with type signatures but also with contracts that describe other aspects of their behavior. One way to express contracts is to state preand postconditions for externally visible functions. These preand post-condit...

متن کامل

Complete Monitors for Behavioral Contracts

A behavioral contract in a higher-order language may invoke methods of unknown objects. Although this expressive power allows programmers to formulate sophisticated contracts, it also poses a problem for language designers. Indeed, two distinct semantics have emerged for such method calls, dubbed lax and picky. While lax fails to protect components in certain scenarios, picky may blame an uninv...

متن کامل

Using Higher-Order Contracts to Model Session Types (Extended Abstract)

Session types are used to describe and structure interactions between independent processes in distributed systems. Higher-order types are needed in order to properly structure delegation of responsibility between processes. In this paper we show that higher-order web-service contracts can be used to provide a fully-abstract model of recursive higher-order session types. The model is settheoret...

متن کامل

Using higher-order contracts to model session types

Session types are used to describe and structure interactions between independent processes in distributed systems. Higher-order types are needed in order to properly structure delegation of responsibility between processes. In this paper we show that higher-order web-service contracts can be used to provide a fully-abstract model of recursive higher-order session types. The model is set-theore...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2015